package com.st.rzs.util;

/**
 * 
 * 服务异常通知结果
 * 
 */
public enum ResponseEnum {

	/**
	 * 请求成功
	 */
	OK("200", "请求成功"),

	ACCEPTE("201", "服务器已接受请求，但尚未处理"),

	CREATE("202", "请求已经建立"),

	NON_AUTH("203", "未认证"),

	NO_CONTENT("204", "服务器成功处理了请求，没有返回任何内容"),

	Reset_Content("205", "请求重试连接"),

	PARTIAL_CONTENT("206", "服务器已经成功处理了部分GET请求"),

	MULTI_STATUS("207", "请求多种方式"),

	ALREADY_REPORT("208", "请求多种方式"),

	/**
	 * 请求标识使用
	 */
	IM_USED("226", "请求标识使用"),

	/**
	 * 请求的资源多选
	 */
	Multi_Choices("300", "请求的资源多选"),

	/**
	 * 请求的资源移动到新的位置
	 */
	MOVE_PER("301", "请求的资源移动到新的位置"),

	/**
	 * 请求的资源不存在
	 */
	NOT_FOND("302", "请求的资源不存在"),

	/**
	 * 响应禁止被缓存
	 */
	NO_CACHE("303", "响应禁止被缓存"),

	/**
	 * 请求资源未修改
	 */
	NOT_MODIFY("304", "请求资源未修改"),

	/**
	 * 请求通过指定的代理才能被访问
	 */
	USE_PROXY("305", "被请求的资源必须通过指定的代理才能被访问"),

	/**
	 * 请求通过指定的代理才能被访问
	 */
	SWITCH_PROXY("306", "请求通过指定的代理才能被访问"),

	/**
	 * 暂时重定向
	 */
	TEMP_REDIRECT("307", "请求暂时重定向"),
	/**
	 * 永久重定向
	 */
	PERMANENT_REDIRECT("308", "请求永久重定向"),

	/**
	 * 服务受限，请联系管理员
	 */
	CUT_SYS_NOAUTH("401", "服务受限，请联系管理员"),

	/**
	 * 请求结果为空
	 */
	NOT_FOUND("404", "请求结果为空"),
	/**
	 * 请求失败
	 */
	FAILED("416", "请求失败"),

	/**
	 * 公用提示信息，使用前需对code description 重新复制
	 */
	PUBLIC_MESSAGE("000000", "公用提示信息，使用前需对code  description 重新复制"),
	/**
	 * 缺少请求参数
	 */
	REQ_NOT_PARA("000001", "缺少请求参数"),
	/**
	 * 返回结果为空
	 */
	RESP_RESULT_EMPTY("000002", "返回结果为空"),
	/**
	 * 新增失败
	 */
	RESP_INSERT_FAILED("000003", "新增失败"),
	/**
	 * 更新失败
	 */
	RESP_UPDATE_FAILED("000004", "更新失败"),
	/**
	 * 删除失败
	 */
	RESP_DELETE_FAILED("000005", "删除失败"),
	/**
	 * 批量新增失败
	 */
	RESP_BATCHINSERT_FAILED("000006", "批量新增失败"),
	/**
	 * 请求报文为空
	 */
	REQ_NULL("000007", "请求报文为空"),
	/**
	 * 请求报文格式错误，不是有效的JSON
	 */
	REQ_NOT_JSON("000008", "请求报文格式错误，不是有效的JSON"),
	/**
	 * 签名认证校验失败
	 */
	REQ_VALIDATESIGN_FAILED("000009", "签名认证校验失败"),

	/**
	 * 缺少请求头信息
	 */
	REQ_NOT_TOKEN_PARA("000010", "缺少请求头信息"),

	/**
	 * 无效头信息
	 */
	REQ_NOT_TOKEN_BAD_PARA("000011", "无效头信息"),

	/**
	 * 用户未登录或登录已失效，请重新登录
	 */
	REQ_NOT_LOGIN_PARA("000012", "用户未登录或登录已失效，请重新登录"),

	/**
	 * 无效的请求，请先为系统分配资源权限//无效的请求，请先为用户分配资源权限
	 */
	REQ_NOTAUTH("000013", "无效的请求，请先为系统分配资源权限"),

	/**
	 * 应用ID错误，请联系管理员
	 */
	REQ_APPNO_NOTREG("000015", "应用ID错误，请联系管理员"),

	/**
	 * 菜单已分配角色，不能删除
	 */
	DEL_MENU_ROLE_FAILED("000016", "菜单已分配角色，不能删除"),

	/**
	 * 菜单存在子菜单，不能删除
	 */
	DEL_MENU_SUBMENU_FAILED("000017", "菜单存在子菜单，不能删除"),

	/**
	 * 接入号校验失败
	 */
	CUT_CUTSYS_CUTNO_FAILED("000020", "接入号校验失败"),

	/**
	 * 未查询到接入系统，请先注册接入系统
	 */
	CUT_CUTSYS_FAILED("000020", "未查询到接入系统，请先注册接入系统"),

	/**
	 * 对象服务器连接失败，请检查对象服务器连接参数
	 */
	OSS_CONFIG_FAILED("000021", "对象服务器连接失败，请检查对象服务器连接参数"),

	/**
	 * 图片文件过大，仅支持100KB以下
	 */
	PHOTOFILE_TOOBIG_ERROR("000022", "图片文件过大，仅支持100KB以下"),

	/**
	 * 程序异常
	 */
	EXPECTATION_FAILED("999999", "程序异常");

	private String code;
	private String description;

	private ResponseEnum(String code, String description) {
		this.setCode(code);
		this.setDescription(description);
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	@Override
	public String toString() {
		return "[" + this.code + "]" + this.description;
	}
}
